from django.shortcuts import render,HttpResponse
from myadmin.models import *  #导入后台中的会员模型
from django.contrib.auth.hashers import make_password, check_password
from django.http import JsonResponse
#主页
def index(request):

    '''
        data = [
            {
                'name':'手机',
                'sub':[
                        {'name':'魅蓝手机','goodslist':[{},{},{}]},
                        {'name':'没煮手机','goodslist':[{},{},{}]}
                    ]
            },
            {
                'name':'智能设备',
                'sub':[
                        {'name':'智能手环','goodslist':[{},{},{}]},
                        {'name':'智能厨房','goodslist':[{},{},{}]}
                    ]
            }
        ]
    '''
    #查询所有类型 一级分类
    data=Cates.objects.filter(pid=0)
    #print(data)
    #在每个分类下面家一个sub属性  在每个顶级分类下加一个二级分类
    for i in data:
        #查找当前id下的所有 子类
        i.sub=Cates.objects.filter(pid=i.id)
    return render(request,'myhome/index.html',{'navdata':data})

#列表
def list(request):
    cid=request.GET.get('id',1)
    #print(cid)
    ob=Cates.objects.get(id=cid)
    #判断是否是顶级分类
    if ob.pid==0:
        #如果是顶级分类就获取所有子类
        ob.sub=Cates.objects.filter(pid=ob.id)
        #获取当前二级分类下的所有商品
        goods=[]
        for i in ob.sub:
            #通过 i主表 获取子表 中对应分类的 所有值
            goods+=i.goods_set.all().values()
        #装入对象
        ob.goods=goods
        #分配数据
        context={'Cateslist':ob}
    else:
        #如果不是顶级分类 获取当前分类的父级别(用来做条件筛选)
        pob=Cates.objects.get(id=ob.pid)

        #获取同级分类
        pob.sub=Cates.objects.filter(pid=pob.id)
        #高亮
        for x in pob.sub:
            if x.id==ob.id:
                x.index=True
        #获取当前分类下商品,不包括同类的商品
        pob.goods=ob.goods_set.all()
        context={'Cateslist': pob}
    '''
            ob
            {
                'name':'手机',
                'sub':[{'name':'魅族'},{'name':'魅蓝'}],
                'goods':[]
            }
            pob
            {
                'name':'手机',
                'sub':[{'name':'魅族'},{'name':'魅蓝'}],
                'goods':[]

            }
    '''
    return render(request, 'myhome/list.html',context)


#详情
def info(request):
    #print(request.GET.get('id'))
    try:
        data=Goods.objects.get(id=request.GET.get('id'))

        return render(request, 'myhome/info.html',{"goods":data})
    except:
        return HttpResponse('<script>alert("商品未找到");location.href="/"</script>')
